1. Field of the Invention
The present invention relates generally to computer-aided design and computer-aided engineering, and more particularly to a system and method for improved parametric geometric modeling.
2. Description of the Related Art
In geometric modeling systems, such as those found in computer-aided design (CAD) products, a user is able, for example, to describe two-dimensional geometric shapes by using a profile to describe the cross-section of a feature of an object. A profile is either a closed continuous two-dimensional region used to generate a solid object or, if the profile is used to generate a surface, the profile would be a continuous set of two-dimensional curves. A profile is used to generate a more complex three-dimensional geometric shapes by sweeping or extruding the cross-section it describes. Moreover, a user of solid modeling can sweep two different profiles that lie in two different planes and intersect, unite or subtract one swept profile from the other extrusion to generate a more complex three-dimensional shape.
It often occurs that a geometric profile used to describe an object, such as a mechanical part, must be modified as the design of the object changes. It is desirable that this modification be done by affecting values used to describe characteristics of the profile rather than having to directly respecify the geometry of the profile. Thus, a user may edit parameters of equations in the equation set of a sketch by editing dimensions directly, with the system regenerating the associated dimensions and constraint equations. The ability to perform this type of modification is termed parametric geometric modeling.
Computerized systems which enable a user to perform parametric geometric modeling typically employ an equation solver to solve series of algebraic equations describing the geometric profiles. Such equation solvers have been described in literature and have employed one of two approaches: a numerical algorithm utilizing Newton-Raphson techniques or a constructive algorithm simulating rule and compass construction. An example of the latter is found in Chung, J. C. H. and Schussel, M.D., "Comparison of Variational and Parametric Design", Mechanical Engineering Systems, Auerbach Publishers.
It is often necessary to modify the profile values used to describe sketch characteristics when the set of equations used to describe the profile is under- or over-populated. However, both of the equation solving approaches mentioned above have inherent disadvantages when applied to algebraic equations sets which are under- or over-populated. A set of equations is deemed under-populated when the set of equations is insufficient to define the associated geometry described by such set of equations. Similarly, a set of equations is deemed over-populated when there are more equations in the set than necessary to define the associated geometry described by the equations.
The constructive algorithm approach is unable to determine a non-imaginary solution (root) to a set of under-populated algebraic equations. Moreover, such approach cannot prioritize equations and select an appropriate and desirable solution to a set of over-populated equations. The numerical algorithm approach, on the other hand, not only suffers from the same inherent disadvantages set forth with regard to the constructive approach, but is further unable to employ heuristics to select the most appropriate solution for an object design from a finite set of solutions.